package com.study.demo_spel;

import org.springframework.expression.Expression;
import org.springframework.expression.ExpressionParser;
import org.springframework.expression.spel.SpelParserConfiguration;
import org.springframework.expression.spel.standard.SpelExpressionParser;

import java.util.List;

/**
 * @Name: MainTest
 * @Description: java类作用描述
 * @Author: yn
 * @CreateDate: 2022/9/21 15:31
 * @Remark: 特殊说明
 * @Version: 1.0
 */
public class MainTest {
    public static void main(String[] args) {
        class Demo {
            public List<String> list;
        }

        //		打开：
        // - 自动空引用初始化
        // - 自动收藏增长
        SpelParserConfiguration config = new SpelParserConfiguration(true, true);
        ExpressionParser parser = new SpelExpressionParser(config);
        Expression expression = parser.parseExpression("list[3]");
        Demo demo = new Demo();
        //取出demo$list的第三个元素
        //demo.list 现在将是 4 个条目的真实集合
        // 每个条目都是一个新的空字符串
        String o = expression.getValue(demo,String.class);
        System.out.println(o);

        Expression expression1 = parser.parseExpression("#this");
        Object demo1 = expression1.getValue(demo);
        System.out.println(demo1);
    }

}
